www.gusucode.com > VC 模范QQ做的一个界面-源码程序 > VC 模范QQ做的一个界面-源码程序/code/MyQQ/MainPanel.cpp

    //Download by http://www.NewXing.com
// MainPanel.cpp : implementation file
//

#include "stdafx.h"
#include "MyQQ.h"
#include "MainPanel.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMainPanel

CMainPanel::CMainPanel()
{
	m_pSTTree = new CTreeCtrlST;
}

CMainPanel::~CMainPanel()
{
	delete m_pSTTree;
}


BEGIN_MESSAGE_MAP(CMainPanel, CWnd)
	//{{AFX_MSG_MAP(CMainPanel)
	ON_WM_CREATE()
	ON_WM_PAINT()
	ON_WM_SIZE()
	ON_WM_MOVING()
	ON_WM_NCACTIVATE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CMainPanel message handlers

int CMainPanel::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	m_pSkin = &(((CMyQQApp *)AfxGetApp())->m_AppSkin);

	m_pSTTree->Create(WS_CHILD | WS_VISIBLE |  
			//TVS_HASLINES| TVS_LINESATROOT| TVS_HASBUTTONS |
			TVS_SHOWSELALWAYS,
			CRect(0,0,0,0), this, 1010);

	m_pSTTree->SetBkImage(m_pSkin->TreeBk);
	
	m_pSTTree->SetImageList(&m_pSkin->m_pILItemIcon,TVSIL_NORMAL);
	
//	CEdit* pEdit =  m_pSTTree->GetEditControl();

	m_pSTTree->SetItemHeight(48);

	TV_INSERTSTRUCT TreeCtrlItem;
	HTREEITEM	hItem;

	TreeCtrlItem.hParent = TVI_ROOT;
	TreeCtrlItem.hInsertAfter = TVI_LAST;   //
	TreeCtrlItem.item.iImage  = 0;			//
	TreeCtrlItem.item.iSelectedImage = 1;
	TreeCtrlItem.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE| TVIF_TEXT|TVIF_CHILDREN;
	TreeCtrlItem.item.pszText =_T("在线用户"); 

	hItem = m_pSTTree->InsertItem(&TreeCtrlItem);

	

	for (int xx = 0; xx < 4; xx ++)
	{
		
		TreeCtrlItem.hParent = hItem;
		TreeCtrlItem.hInsertAfter = TVI_LAST; //
		TreeCtrlItem.item.iImage  =xx;		  //
		TreeCtrlItem.item.iSelectedImage =xx;
		TreeCtrlItem.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE| TVIF_TEXT|TVIF_CHILDREN;
		TreeCtrlItem.item.pszText =_T("用户"); 
		m_pSTTree->InsertItem(&TreeCtrlItem);
	}

	m_pSTTree->Expand(hItem,TVE_EXPAND);

	TreeCtrlItem.hParent = TVI_ROOT;
	TreeCtrlItem.hInsertAfter = TVI_LAST;     //
	TreeCtrlItem.item.iImage  = 0;			  //
	TreeCtrlItem.item.iSelectedImage = 1;
	TreeCtrlItem.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE| TVIF_TEXT|TVIF_CHILDREN;
	TreeCtrlItem.item.pszText =_T("离线用户"); 
	hItem = m_pSTTree->InsertItem(&TreeCtrlItem);
	

	for (xx = 2; xx < 6; xx ++)
	{
		TreeCtrlItem.hParent = hItem;
		TreeCtrlItem.hInsertAfter = TVI_LAST; //
		TreeCtrlItem.item.iImage  = xx;//
		TreeCtrlItem.item.iSelectedImage = xx;
		TreeCtrlItem.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE| TVIF_TEXT|TVIF_CHILDREN;
		TreeCtrlItem.item.pszText =_T("cicn"); 
		m_pSTTree->InsertItem(&TreeCtrlItem);
	}

	return 0;
}

void CMainPanel::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	CRect rc;
	GetClientRect(&rc);
	dc.FillSolidRect(rc,RGB(255,255,255) );
	// Do not call CWnd::OnPaint() for painting messages
}

void CMainPanel::OnSize(UINT nType, int cx, int cy) 
{
	CWnd::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
	m_pSTTree->MoveWindow(CRect(2, 15, cx, cy),TRUE);
}

void CMainPanel::OnMoving(UINT fwSide, LPRECT pRect) 
{
	CWnd::OnMoving(fwSide, pRect);
	
	// TODO: Add your message handler code here
//	Invalidate();
}

BOOL CMainPanel::OnNcActivate(BOOL bActive) 
{
	// TODO: Add your message handler code here and/or call default
//	Invalidate();
	return CWnd::OnNcActivate(bActive);
}